From f6813924ca7be8eff88a9888acf0c3421dfbe8d9 Mon Sep 17 00:00:00 2001 From: Nemikolh Date: Tue, 23 May 2017 17:21:40 +0100 Subject: [PATCH] Write stderr output from build-scripts to disk. Closes #3462 --- src/cargo/ops/cargo_rustc/custom_build.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cargo/ops/cargo_rustc/custom_build.rs b/src/cargo/ops/cargo_rustc/custom_build.rs index 930662151..4514ab42b 100644 --- a/src/cargo/ops/cargo_rustc/custom_build.rs +++ b/src/cargo/ops/cargo_rustc/custom_build.rs @@ -164,7 +164,12 @@ fn build_work<'a, 'cfg>(cx: &mut Context<'a, 'cfg>, unit: &Unit<'a>) let pkg_name = unit.pkg.to_string(); let build_state = cx.build_state.clone(); let id = unit.pkg.package_id().clone(); - let output_file = build_output.parent().unwrap().join("output"); + let (output_file, err_file) = { + let build_output_parent = build_output.parent().unwrap(); + let output_file = build_output_parent.join("output"); + let err_file = build_output_parent.join("stderr"); + (output_file, err_file) + }; let all = (id.clone(), pkg_name.clone(), build_state.clone(), output_file.clone()); let build_scripts = super::load_build_deps(cx, unit); @@ -237,7 +242,9 @@ fn build_work<'a, 'cfg>(cx: &mut Context<'a, 'cfg>, unit: &Unit<'a>) pkg_name, e.desc); Human(e) })?; + paths::write(&output_file, &output.stdout)?; + paths::write(&err_file, &output.stderr)?; // After the build command has finished running, we need to be sure to // remember all of its output so we can later discover precisely what it -- 2.30.2